package Transforming_Observables

import (
	"fmt"
	"github.com/reactivex/rxgo/v2"
)

// 定期聚集一些观察者集合中的对象打包成一个组合，然后发送这些组合，而不是一个个的发送对象
func Demo_Window() {
	observe := rxgo.Just(1, 2, 3)().WindowWithCount(2).Observe()

	fmt.Println("First Observable")
	for item := range (<-observe).V.(rxgo.Observable).Observe() {
		if item.Error() {
			fmt.Println(item.E)
		}
		fmt.Println(item.V)
	}

	fmt.Println("Second Observable")
	for item := range (<-observe).V.(rxgo.Observable).Observe() {
		if item.Error() {
			fmt.Println(item.E)
		}
		fmt.Println(item.V)
	}
}
